1. Field of the Invention
This invention relates generally to image processors and, more particularly, to an image processor capable of correcting shaking of an image.
2. Description of the Related Art
A correlation method based on correlation calculation and a block matching method are known for use as a movement vector detection method that is necessary for an image coding apparatus or an apparatus for correcting image shaking (movement).
In a block matching method, an input image signal is divided with respect to a plurality of blocks of a suitable size (e.g., 8 pixels.times.8 lines), differences from pixels in a certain area of the preceding field (or frame) are calculated with respect to each block, and a block in the preceding field for which the sum of absolute values of the differences is at a minimum is searched for. The relative shift between the related blocks is expressed as a movement vector.
A conventional image shaking correction apparatus which detects a movement vector of an image by using the block matching method and corrects shaking of the image by using the movement vector will be described below with reference to the drawings.
FIG. 1 is a block diagram of a conventional image shaking correction apparatus.
A block 1 represents an A/D converter for converting an input analog image signal into a digital signal.
A block 2 represents a Y/C separation circuit for extracting only a Y (luminance) signal from the digital signal converted from the input image signal.
A block 3 represents a memory for storing the Y signal output from the Y/C separation circuit 2.
A block 4 represents a movement vector detection circuit 4 for detecting the amount of movement of a vector by comparing the Y signal of a preceding frame stored in the memory and the Y signal of the present frame output from the Y/C separation circuit 2.
A block 5 represents a memory read control circuit for determining an image portion to be read from an image stored in the memory 3 by receiving movement vector information from the movement vector detection circuit 4.
A block 6 represents a memory for storing an output signal from the A/D converter 1.
A block 7 represents an interpolation/enlargement circuit for interpolation and enlargement processing of an image signal obtained by reading a portion of the picture stored in the memory 6. Through the circuit 7, an image signal presenting an image enlarged to a predetermined picture size is output.
A block 8 represents a D/A converter for converting a digital signal into an analog signal.
In the conventional image shaking correction apparatus arranged as described above, an image signal representing a shaking image is converted into a digital signal by the A/D converter 1 and distributed to two lines.
Through one of these lines, the digital signal is sent to the Y/C separation circuit 2, and only the Y signal is extracted and input to the memory 3 and the movement vector detection circuit 4.
In the movement vector detection circuit 4, a movement vector is detected by comparing signal data of the present and preceding fields with respect to each of a plurality of blocks in accordance with the block matching method. More specifically, a correlation between the present and preceding fields is calculated with respect to each block, and a block of the preceding field at which the result of correlation calculation, i.e., a correlation value, is at a minimum is searched for. The relative shift of the block thereby found is set as a movement vector.
On the basis of the detected movement vector detected by the movement vector detection circuit 4, the memory read control circuit 5 changes addresses at which the image signal stored in the memory is read out, thereby changing the image position.
The operation of this apparatus will be described in more detail with reference to FIG. 2. Certain frames of an input image, such as frames F1, F2 . . . shown in FIG. 2, are extracted. One of such frames has been translated in an entire picture on the basis of a movement vector A so that shaking of the picture is cancelled out. The position of the extracted frame is shifted by changing the read addresses.
In this case, it is necessary to enlarge the size of the image output from the memory 6, since image shaking correction is performed by extracting certain frames within the normal picture size. Therefore, the image output from the memory 6 undergoes interpolation/enlargement processing in the interpolation/enlargement circuit 7.
The image signal processed for interpolation/enlargement is converted into an analog signal by the D/A converter circuit 8 before it is output.
The conventional movement vector detection processing is performed in the above-described manner. However, it is natural that when a movement vector is detected by the movement vector detection means with respect to each block, the detected movement vector depends largely upon the image state (pattern) of blocks as processing objects.
The influence of image patterns will be described with reference to the drawings.
FIG. 3 shows an ordinary image. FIGS. 4(a) through 4(d) are graphs of variations in correlation values depending upon image states (patterns).
It can be understood that if the above-described block matching is performed with respect to an ordinary image pattern, e.g., a portion a shown in FIG. 3, a strong correlation is exhibited at one point by correlation calculation, as shown in FIG. 4(a), and that a movement vector can be detected with high reliability in such a case.
However, if block matching is performed with respect to a portion b shown in FIG. 3 (e.g., a low-contrast pattern, such as an image of a sky or a white wall), a sufficiently strong correlation cannot be obtained by correlation calculation, as shown in FIG. 4(b), and there is a possibility that a movement vector with a large error will be detected.
Similarly, if block matching is performed with respect to a portion c shown in FIG. 3 (e.g., a reiterative pattern, such as an image of a brick wall or a wire net, consisting of congruent figures), a strong correlation is exhibited at a plurality of points by correlation calculation, as shown in FIG. 4(c), and there is a possibility that a movement vector with a large error will be detected.
Further, if block matching is performed with respect to a portion d shown in FIG. 3 (e.g., an image pattern of a roof or blind slats having a strong correlation in one direction but substantially no correlation in other directions), a strong correlation is exhibited at a plurality of points by correlation calculation, as shown in FIG. 4(d), and there is also a possibility that a movement vector with a large error will be detected.